package van.planifolia.work2;

import van.planifolia.ListConstant;
import van.planifolia.People;

import java.util.Arrays;
import java.util.Comparator;
import java.util.stream.Stream;

/**
 * Created by Intellij IDEA<br>
 * 这个类用来演示stream流中的中间操作
 * @author Planifolia.Van
 * @version 1.0
 * @date 2022/11/6 16:39
 */
public class InterOperation {
    public static void main(String[] args) {
        // 在这将会演示Filter，Sort，Map，distinct，skip， limit，concat
        // 需求，操作PeopleList先对其进行排序然后找到所有中国的，并且去重，跳过第一个，截取前两个信息
        ListConstant.peoples.stream()
                .sorted(Comparator.comparingInt(People::getAge))
                .filter(people -> "CN".equals(people.getAddress()))
                .distinct()
                .skip(1)
                .limit(2)
                .forEach(System.out::println);
        // 尝试合并下面两个流
        Integer[] integer1 = {1,2,3};
        Integer[] integer2 ={4,5,6};
        Stream<Integer> integerStream = Stream.concat(Arrays.stream(integer1), Arrays.stream(integer2));
        integerStream.forEach(System.out::println);
    }
}
